﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EntitiesLayer;
using System.Drawing;
using DAL;
using DAL.Repositories;
using System.Data.SqlClient;
using System.Data;

namespace BLL
{
    public class GestorPagos
    {
        public System.Data.DataSet GetListaUsuariosPagar()
        {
           return ((DAL.Repositorios.PagoRepository)UnitOfWork.PagoRepositoryConsultar).GetListaUsuariosPagar();
        }

        public IEnumerable<Pago> listarPagos()
        {

            try
            {
                return UnitOfWork.PagoRepositoryConsultar.GetAll();
            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);

            }
            catch (ApplicationException ex)
            {

                Console.WriteLine(ex.Message);

            }

            return null;
        }

        public bool insertarPago(int idCliente, decimal montoPagado, TipoPago tipo, int diasEfectivos)
        {
           try
            {
                Pago pago = new Pago(
                      idCliente: idCliente,
                      montoPagado: montoPagado,
                      fechaDePago: DateTime.Now,
                      tipo: tipo,
                      diasEfectivos: diasEfectivos
                  );

                UnitOfWork.PagoRepositoryRegistrar.Insert(pago);
                UnitOfWork.PagoRepositoryRegistrar.Save();

            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }
            catch (ApplicationException ex)
            {

                Console.WriteLine(ex.Message);
                return false;
            }
           
            return true;
        }
    }
}
